bitkeeper revision 1.1108.48.2 (410e1a0de6FrG4dlru7jRaIj2HuwBw)
authorcl349@freefall.cl.cam.ac.uk <cl349@freefall.cl.cam.ac.uk>
Mon, 2 Aug 2004 10:40:13 +0000 (10:40 +0000)
committercl349@freefall.cl.cam.ac.uk <cl349@freefall.cl.cam.ac.uk>
Mon, 2 Aug 2004 10:40:13 +0000 (10:40 +0000)
make sure the domain's time info in shared_info is uptodate on timer interrupts

xen/common/schedule.c

index cc195b31bd10788f5a81e6844fd6c14b42a8a685..7dd2cbd0f0018deb26628b4b2ce6fbc21272f93a 100644 (file)
@@ -444,8 +444,10 @@ static void t_timer_fn(unsigned long unused)
 
     TRACE_0D(TRC_SCHED_T_TIMER_FN);
 
-    if ( !is_idle_task(p) )
+    if ( !is_idle_task(p) ) {
+        update_dom_time(p->shared_info);
         send_guest_virq(p, VIRQ_TIMER);
+    }
 
     t_timer[p->processor].expires = NOW() + MILLISECS(10);
     add_ac_timer(&t_timer[p->processor]);
@@ -456,6 +458,7 @@ static void dom_timer_fn(unsigned long data)
 {
     struct domain *p = (struct domain *)data;
     TRACE_0D(TRC_SCHED_DOM_TIMER_FN);
+    update_dom_time(p->shared_info);
     send_guest_virq(p, VIRQ_TIMER);
 }